Nella grafica al computer, distinguiamo tra Vettoriale e Raster grafici. I grafici vettoriali (come SVG) descrivono le immagini tramite forme logiche; ogni elemento è un oggetto persistente nel DOM. Al contrario, i grafici raster (come HTML5 Canvas) lavorano con raster di punti colorati.
1. Il passaggio a Canvas
Mentre SVG è più facile da stiliare con CSS, il browser deve tenere traccia di ogni nodo. Per esigenze ad alte prestazioni, come giochi con migliaia di elementi in movimento, l'API Canvas è superiore. Fornisce un singolo elemento DOM che incapsula una superficie di disegno — essenzialmente una "tela bianca".
2. Il contesto di disegno
Il <canvas> elemento è una "scatola nera" finché non inizializziamo il suo contesto. I metodi di questo oggetto forniscono l'interfaccia effettiva per il disegno, separando l'elemento visualizzato dalla logica di rendering.
3. Consapevolezza dello spazio dei nomi
Nei grafici basati su XML come SVG, l'attributo xmlns="http://www.w3.org/2000/svg" è critico. Segnala al browser di passare dall'analisi standard del HTML allo schema grafico specifico, consentendo alle etichette delle forme di essere riconosciute come oggetti interattivi.